#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn = 220;
int a[maxn];
int b[maxn];
int dp[maxn][2048];
int main()
{
	int n,m;
	cin>>n>>m;
	int ans = 0;

	for(int i = 1;i<=n;i++) cin>>a[i];
	for(int i = 1;i<=m;i++) cin>>b[i];
	dp[0][0] = 1;
	for(int i = 1;i<=n;i++)
	{
		for(int j = 1;j<=m;j++)
		{
			for(int k = 0;k<=1024;k++)
			{
				if(dp[i-1][k]==1)
				{
					dp[i][(a[i]&b[j])|k] = 1;
				}
			}
		}
	}
	ans = 0x3f3f3f3f;
	for(int i = 0;i<=1024;i++)
	{
		if(dp[n][i]==1)
		{
			ans = i;
			break;
		}
	}
	cout<<ans<<endl;
}
